home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 11
/
FM Towns Free Software Collection 11.iso
/
t_os
/
tool
/
khoaf
/
khoaf.bas
< prev
next >
Wrap
BASIC Source File
|
1995-08-18
|
28KB
|
911 lines
10 '----------------------------------------------------------
20 '<<<<<< フリコレ3以降一括検索ツール >>>>>>>
30 '<<<<<< KHoAF☆(こ~ふ) >>>>>>>
40 '<<<<<< KIM's Helper of All FSWCs >>>>>>>
50 '<<<<<< Programmed by KIM 1995 >>>>>>>
60 '----------------------------------------------------------
70 SCREEN 0:SCREEN@0:SCREEN 1,0:CLS:PALETTE
80 CLEAR ,,,,,300*1024:DEFINT A-Z
90 ON ERROR GOTO *E_TRAP
100 STOP OFF
110 DEF FONT"システム 12ドット"
120 DIM KEYW$(32),KEYD(32),KASS1$(50),KASS2$(50),G$(2000)
130 DIM PROG$(10000),KEYWORD&(10000)
140 DIM FCNO(10000),SEL(10000)
150 DIM ICN1(256),ANDICN1(64),ICN2(256),ANDICN2(64),ICN3(256),ANDICN3(64)
160 DIM NROLL(48720),ARY$(100),ARY&(1)
170 DEF FNGETC&=ASC(INPUT$(1,1))
180 DEF FNGETSHORT&=FNGETC&+FNGETC&*256
190 DEF FNGETLONG&=FNGETSHORT&+FNGETSHORT&*65536
200 MODE=1:SELN=-1:TABC=8:CFCN=0:CDRIVE=15:MC1=0
210 GOSUB *MOUSE_SET:MOUSE 1,320,240,0
220 MOUSE 4,0,0,634,474
230 '
240 *LOAD_ICN
250 LOAD@"ICON.TIF"
260 GET@A(0,0)-(31,31),ICN1
270 GET@A(32,0)-(63,31),ICN2
280 GET@A(64,0)-(95,31),ICN3
290 GET@(0,0)-(31,31),ANDICN1
300 LINE(0,0)-(31,31),PSET,%1,BF
310 PUT@(0,0)-(31,31),ANDICN1,,0
320 GET@(0,0)-(31,31),ANDICN1
330 GET@(32,0)-(63,31),ANDICN2
340 LINE(32,0)-(63,31),PSET,7,BF
350 PUT@(32,0)-(63,31),ANDICN2,,0
360 GET@(32,0)-(63,31),ANDICN2
370 GET@(64,0)-(95,31),ANDICN3
380 LINE(64,0)-(95,31),PSET,7,BF
390 PUT@(64,0)-(95,31),ANDICN3,,0
400 GET@(64,0)-(95,31),ANDICN3
410 *PALETTE
420 FOR I=0 TO 1
430 SCREEN 1,I
440 PALETTE 2,[100,0,0]
450 PALETTE 3,[120,40,60]
460 PALETTE 4,[120,0,80]
470 PALETTE 5,[120,0,100]
480 PALETTE 7,[160,160,160]
490 NEXT
500 SCREEN 1,0
510 *LOAD_KEY
520 I=0
530 OPEN "I",#1,"KHOAF.KEY"
540 WHILE A$<>"*"
550 INPUT#1,KEYW$(I):A$=KEYW$(I):I=I+1
560 WEND
570 KEYN=I-2
580 I=0
590 WHILE NOT(EOF(1))
600 INPUT#1,KASS1$(I)
610 IF NOT(EOF(1)) THEN INPUT#1,KASS2$(I):I=I+1
620 WEND
630 KASSN=I-1
640 CLOSE
650 GOSUB *MENU_SET
660 MCN=2:GOSUB *MOUSE_C_SET:MOUSE 1,,,1
670 *LOAD_IDK
680 I=0
690 OPEN "I",#1,"KHOAF.IDK"
700 WHILE NOT(EOF(1))
710 LINE INPUT#1,PROGRAM$
720 LINE INPUT#1,MAKE$
730 LINE INPUT#1,K$
740 A=1
750 WHILE A>0
760 A=INSTR(K$," ")
770 ON 1+(A>0) GOTO 810
780 L=LEN(K$)
790 A$=LEFT$(K$,A-1):K$=RIGHT$(K$,L-A)
800 GOTO 820
810 A$=K$
820 A2=SEARCH(KEYW$,A$)
830 ON 1+(A2>-1) GOTO 880
840 J=SEARCH(KASS1$,A$)
850 ON 1+(J>-1) GOTO 880
860 A$=KASS2$(J)
870 A2=SEARCH(KEYW$,A$)
880 A&=2^A2
890 KEYWORD&(I)=KEYWORD&(I)-A&*((KEYWORD&(I) AND A&)=0)
900 WEND
910 LINE INPUT#1,GGG$
920 LINE INPUT#1,DOC$
930 LINE INPUT#1,DIR$
940 INPUT#1,FCNO(I)
950 PROG$(I)=LEFT$(PROGRAM$+SPACE$(57),57)+LEFT$(MAKE$+SPACE$(34),34)+LEFT$(GGG$+SPACE$(55),55)+LEFT$(DOC$+SPACE$(55),55)+LEFT$(DIR$,54)
960 I=I+1
970 WEND
980 DATAN=I-1
990 CLOSE
1000 SHELL "Q:"
1010 MCN=1:GOSUB *MOUSE_C_SET
1020 *MAIN
1030 IF MOUSE(2,0) THEN
1040 GOSUB *MOUSE_CHECK
1050 ENDIF
1060 IF MC1=1 AND MOUSE(2,0)=0 THEN MC1=0:GOSUB *SELECT
1070 GOTO *MAIN
1080 *MENU_EXIT
1090 SCREEN 1,1
1100 W$="終了しますか?":GOSUB *WINDOW
1110 GOSUB *WINDOW_SELECT
1120 CLS:SCREEN 1,0
1130 IF YN=1 THEN MOUSE 5:SCREEN 0:END
1140 RETURN *MAIN
1150 *MENU_SET
1160 LINE(0,0)-(639,479),PSET,%8,BF,%2
1170 LINE(0,204)-(639,479),PSET,%8,BF,%4
1180 SYMBOL(20,1),"KHoAF☆ --- KIM's Helper of All FSWCs --- V1.03 by KIM 1995",.75!,.75!,4
1190 BZ$(0)="CANCEL":BZ$(1)="LOOK":BZ$(2)="PRINT":BZ$(3)="EXEC_HELPER":BZ$(4)="EXIT"
1200 BZ$(5)="BACK":BZ$(6)="NEXT"
1210 BYN(3)=1:BYN(4)=1
1220 LINE(0,37)-(639,208),PSET,%8,BF,%3
1230 LINE(0,208)-(639,479),PSET,%8,BF,%4
1240 FOR K=0 TO 4
1250 LINE(20+120*K,16)-(136+120*K,33),PSET,0,B
1260 GOSUB *BUTTON_YN_1
1270 NEXT
1280 FOR I=0 TO 3
1290 FOR J=0 TO 7
1300 LINE(20+150*I,48+20*J)-(166+150*I,65+20*J),PSET,0,B
1310 LINE(21+150*I,49+20*J)-(165+150*I,64+20*J),PSET,%(3+KEYD(I+J*4)*11),B
1320 IF I+J*4=<KEYN THEN SYMBOL(26+150*I,51+20*J),KEYW$(I+J*4),.75!,.75!,7
1330 NEXT J,I
1340 FOR I=0 TO 11
1350 LINE(20,220+20*I)-(394,237+20*I),PSET,0,B
1360 LINE(398,220+20*I)-(620,237+20*I),PSET,0,B
1370 NEXT
1380 LINE(20,463)-(220,475),PSET,%8,BF,%4
1390 FOR K=5 TO 6
1400 LINE(240+80*(K-5),461)-(316+80*(K-5),478),PSET,0,B
1410 GOSUB *BUTTON_YN_2
1420 NEXT
1430 SYMBOL(284,38),"TITLE SELECT",.75!,.6!,%7
1440 SYMBOL(160,210),"TITLE",.75!,.6!,%7
1450 SYMBOL(356,210),"FSWC NO.",.75!,.6!,%7
1460 SYMBOL(490,210),"WRITER",.75!,.6!,%7
1470 GOSUB *LIST
1480 RETURN
1490 *MOUSE_CHECK
1500 IF MODE=2 THEN *MOUSE_CHECK2
1510 MX=MOUSE(0):MY=MOUSE(1)
1520 FOR I=0 TO 3
1530 FOR J=0 TO 7
1540 IF I+J*4=<KEYN THEN
1550 IF MX>20+150*I AND MY>48+20*J AND MX<166+150*I AND MY<65+20*J THEN
1560 KEYD(I+J*4)=1-(KEYD(I+J*4)):MC1=1
1570 LINE(21+150*I,49+20*J)-(165+150*I,64+20*J),PSET,%(3+KEYD(I+J*4)*11),B
1580 WHILE MX>20+150*I AND MY>48+20*J AND MX<166+150*I AND MY<65+20*J AND MOUSE(2,0)
1590 MX=MOUSE(0):MY=MOUSE(1)
1600 WEND
1610 ENDIF
1620 ENDIF
1630 NEXT J,I
1640 *MOUSE_CHECK2
1650 A=0
1660 MX=MOUSE(0):MY=MOUSE(1)
1670 FOR I=0 TO 4
1680 IF -BYN(I) THEN
1690 IF MX>20+120*I AND MY>16 AND MX<136+120*I AND MY<33 THEN
1700 A=1
1710 LINE(21+120*I,17)-(135+120*I,32),PSET,6,B:WAIT 4
1720 LINE(21+120*I,17)-(135+120*I,32),PSET,%2,B
1730 ENDIF
1740 ENDIF
1750 NEXT
1760 FOR I=0 TO 1
1770 IF -BYN(I+5) THEN
1780 IF MX>240+80*I AND MY>461 AND MX<316+80*I AND MY<478 THEN
1790 A=1
1800 LINE(241+80*I,462)-(315+80*I,477),PSET,6,B:WAIT 4
1810 LINE(241+80*I,462)-(315+80*I,477),PSET,%4,B
1820 ENDIF
1830 ENDIF
1840 NEXT
1850 IF MODE=1 THEN
1860 FOR I=0 TO 11
1870 IF LISTN+I=<SELN THEN
1880 IF MX>20 AND MY>220+20*I AND MX<394 AND MY<237+20*I THEN
1890 A=1
1900 LINE(21,221+20*I)-(393,236+20*I),PSET,6,B:WAIT 4
1910 LINE(21,221+20*I)-(393,236+20*I),PSET,%4,B
1920 ENDIF
1930 IF MX>398 AND MY>220+20*I AND MX<620 AND MY<237+20*I THEN
1940 A=1
1950 LINE(399,221+20*I)-(619,236+20*I),PSET,6,B:WAIT 4
1960 LINE(399,221+20*I)-(619,236+20*I),PSET,%4,B
1970 ENDIF
1980 ENDIF
1990 NEXT
2000 ENDIF
2010 IF A=1 AND MOUSE(2,0) THEN *MOUSE_CHECK2
2020 FOR I=0 TO 1
2030 IF -BYN(I+5) THEN
2040 IF MX>240+80*I AND MY>461 AND MX<316+80*I AND MY<478 THEN
2050 IF MODE=1 THEN ON I+1 GOSUB *LIST_BACK,*LIST_NEXT
2060 IF MODE=2 THEN ON I+1 GOSUB *TYPE_BACK,*TYPE_NEXT
2070 ENDIF
2080 ENDIF
2090 NEXT
2100 IF MODE=1 THEN
2110 LOOKN=-1
2120 FOR I=0 TO 11
2130 IF LISTN+I=<SELN THEN
2140 IF MX>20 AND MY>220+20*I AND MX<396 AND MY<237+20*I THEN
2150 LOOKN=SEL(LISTN+I):A=I
2160 ENDIF
2170 IF MX>400 AND MY>220+20*I AND MX<620 AND MY<237+20*I THEN
2180 LOOKN=SEL(LISTN+I):A=I
2190 ENDIF
2200 ENDIF
2210 NEXT
2220 IF LOOKN>0 THEN GOSUB *TXT_SET
2230 ENDIF
2240 FOR I=0 TO 4
2250 IF MX>20+120*I AND MY>16 AND MX<136+120*I AND MY<33 THEN
2260 IF MODE=2 AND BYN(I)=1 THEN ON I+1 GOSUB *TXT_CANCEL,*TXT_LOOK,*TXT_PRINT,*EXEC_HELPER:I=5
2270 IF MODE=1 THEN ON I+1 GOSUB *SELECT_CANCEL,*INPUT_EX,*DUMMY,*EXEC_HELPER,*MENU_EXIT:I=5
2280 ENDIF
2290 NEXT
2300 IF MX>20 AND MY>463 AND MX<220 AND MY<475 THEN
2310 IF MODE=1 THEN GOSUB *LIST_ROLL
2320 IF MODE=2 THEN GOSUB *TYPE_ROLL
2330 ENDIF
2340 IF MODE=2 AND MX>60 AND MY>38 AND MX<579 AND MY<457 THEN
2350 GOSUB *TYPE_NEKOROLL
2360 ENDIF
2370 RETURN
2380 *DUMMY
2390 RETURN
2400 *SELECT
2410 MCN=2:GOSUB *MOUSE_C_SET
2420 A&=0
2430 FOR I=0 TO KEYN
2440 A&=A&-(KEYD(I)=1)*2^I
2450 NEXT
2460 IF A&>0 THEN
2470 J=0
2480 FOR I=0 TO DATAN
2490 IF (KEYWORD&(I) AND A&)=A& THEN SEL(J)=I:J=J+1
2500 NEXT
2510 SELN=J-1
2520 ELSE
2530 SELN=-1
2540 ENDIF
2550 LINE(430,463)-(639,474),PSET,%4,BF
2560 IF SELN>-1 THEN
2570 SYMBOL(430,463),RIGHT$(" "+STR$(SELN+1),5)+" founds",.75!,.75!,%7
2580 ENDIF
2590 BYN(0)=-(A&>0):K=0:GOSUB *BUTTON_YN_1
2600 BYN(5)=0:BYN(6)=-(SELN>11)
2610 FOR K=5 TO 6
2620 GOSUB *BUTTON_YN_2
2630 NEXT
2640 LISTN=0:GOSUB *LIST
2650 MCN=1:GOSUB *MOUSE_C_SET
2660 RETURN
2670 *SELECT_CANCEL
2680 IF BYN(0)=0 THEN RETURN
2690 FOR I=0 TO KEYN
2700 KEYD(I)=0
2710 NEXT
2720 FOR I=0 TO 3
2730 FOR J=0 TO 7
2740 LINE(21+150*I,49+20*J)-(165+150*I,64+20*J),PSET,%4,B
2750 NEXT J,I
2760 GOSUB *SELECT
2770 RETURN
2780 *LIST
2790 MCN=2:GOSUB *MOUSE_C_SET
2800 LINE(20,463)-(220,475),PSET,%8,BF,%4
2810 IF SELN>-1 THEN
2820 A1=LISTN/(SELN+1)*198:IF A1>198 THEN A1=198
2830 A2=(LISTN+12)/(SELN+1)*198:IF A2>198 THEN A2=198
2840 LINE(21+A1,464)-(21+A2,474),PSET,%2,BF
2850 ENDIF
2860 FOR I=0 TO 11
2870 LINE(21,221+20*I)-(393,236+20*I),PSET,%4,BF
2880 LINE(401,221+20*I)-(619,236+20*I),PSET,%4,BF
2890 A=LISTN+I
2900 IF A=<SELN THEN
2910 SYMBOL(26,223+20*I),LEFT$(PROG$(SEL(A)),57)+RIGHT$(" "+AKCNV$(STR$(FCNO(SEL(A)))),4)+" "+MID$(PROG$(SEL(A)),58,34),.75!,.75!,7
2920 ENDIF
2930 NEXT
2940 MCN=1:GOSUB *MOUSE_C_SET
2950 RETURN
2960 *LIST_BACK
2970 IF LISTN+12>SELN THEN BYN(6)=1:K=6:GOSUB *BUTTON_YN_2
2980 LISTN=LISTN-12:GOSUB *LIST
2990 IF LISTN<1 THEN BYN(5)=0:K=5:GOSUB *BUTTON_YN_2
3000 RETURN
3010 *LIST_NEXT
3020 IF LISTN<1 THEN BYN(5)=1:K=5:GOSUB *BUTTON_YN_2
3030 LISTN=LISTN+12:GOSUB *LIST
3040 IF LISTN+12>SELN THEN BYN(6)=0:K=6:GOSUB *BUTTON_YN_2
3050 RETURN
3060 *LIST_ROLL
3070 BLISTN=LISTN
3080 LISTN=INT((MX-21)/198*(SELN+1)/12)*12
3090 IF LISTN<>BLISTN THEN
3100 IF BLISTN+12>SELN THEN BYN(6)=1:K=6:GOSUB *BUTTON_YN_2
3110 IF BLISTN<1 THEN BYN(5)=1:K=5:GOSUB *BUTTON_YN_2
3120 GOSUB *LIST
3130 IF LISTN<1 THEN BYN(5)=0:K=5:GOSUB *BUTTON_YN_2
3140 IF LISTN+12>SELN THEN BYN(6)=0:K=6:GOSUB *BUTTON_YN_2
3150 ENDIF
3160 RETURN
3170 *BUTTON_YN_1
3180 SYMBOL(78-LEN(BZ$(K))*3+120*K,20),BZ$(K),.75!,.6!,7*BYN(K),,,1
3190 RETURN
3200 *BUTTON_YN_2
3210 SYMBOL(266+(K-5)*80,465),BZ$(K),.75!,.6!,7*BYN(K),,,1
3220 RETURN
3230 *TXT_SET
3240 SCREEN 1,1
3250 LINE(21,221+20*A)-(393,236+20*A),PSET,6,B
3260 LINE(399,221+20*A)-(619,236+20*A),PSET,6,B
3270 BYN0=BYN(0):BYN5=BYN(5):BYN6=BYN(6)
3280 IF CFCN<>FCNO(LOOKN) THEN
3290 W$="フリコレ"+AKCNV$(STR$(FCNO(LOOKN)))+" をセットしてください"
3300 GOSUB *WINDOW
3310 GOSUB *WINDOW_SELECT
3320 IF YN=2 THEN TXTMODE=1:GOTO *TXT_CANCEL
3330 ENDIF
3340 CFCN=FCNO(LOOKN)
3350 GD=0:MODE=2
3360 *TXT_LOAD
3370 MCN=2:GOSUB *MOUSE_C_SET
3380 ON GD+1 GOSUB *SET_GGG,*SET_DOC
3390 A=INSTR(F$,".")
3400 IF A>0 THEN
3410 FILE$=F$:FILES FILE$:GOTO *TXT_READ
3420 ENDIF
3430 IF F$="Q:" THEN FILE$="":GOTO *TXT_READ
3440 FILES F$,C,ARY&
3450 FILES F$,N,ARY$
3460 A=0
3470 FOR I=1 TO ARY&(1)
3480 IF MID$(ARY$(I),10,3)=A$ THEN A=1:Y=I:I=ARY&(1)
3490 NEXT
3500 IF -A THEN
3510 FILE$=F$+"\"+LEFT$(ARY$(Y),8)+"."+A$
3520 ELSE
3530 FILE$="":TXTN=-1
3540 LINE(60,37)-(579,458),PSET,%8,BF,%5
3550 LINE(20,463)-(220,475),PSET,%8,BF,%4
3560 BYN(5)=BYN5:BYN(6)=BYN6
3570 SYMBOL(180,232),"この作品の "+A$+"ファイルは見つかりませんでした",.75!,.75!,7
3580 FOR K=5 TO 6
3590 GOSUB *BUTTON_YN_2
3600 NEXT
3610 ENDIF
3620 TXTMODE=1
3630 *TXT_READ
3640 IF FILE$<>"" THEN
3650 MCN=2:GOSUB *MOUSE_C_SET
3660 LINE(60,37)-(579,458),PSET,%8,BF,%5
3670 SYMBOL(230,232),"テキストファイル読み込み中・・・・",.75!,.75!,7
3680 OPEN "I",#1,FILE$
3690 J=0:P=0:G$(0)=""
3700 WHILE NOT(EOF(1)) AND J<2000
3710 LINE INPUT#1,A$
3720 WHILE LEN(A$)>79
3730 KL=KLEN(A$)
3740 WHILE LEN(G$(J))<79
3750 G$(J)=G$(J)+KLEFT$(A$,1)
3760 A$=KRIGHT$(A$,KLEN(A$)-1)
3770 WEND
3780 J=J+1:G$(J)=""
3790 WEND
3800 G$(J)=A$:J=J+1:G$(J)=""
3810 WEND
3820 TXTN=J-1
3830 TYPEN=0:GOSUB *TYPE
3840 MCN=2:GOSUB *MOUSE_C_SET
3850 CLOSE
3860 BYN(5)=0:BYN(6)=-(TXTN>29)
3870 SCREEN 1,0
3880 FOR K=5 TO 6
3890 GOSUB *BUTTON_YN_2
3900 NEXT
3910 SCREEN 1,1
3920 LINE(430,463)-(639,474),PSET,%4,BF
3930 IF TXTMODE=1 THEN SYMBOL(430,463),MID$(PROG$(LOOKN),202,54),.75!,.75!,%7
3940 ENDIF
3950 SCREEN 1,0
3960 BYN(0)=1:K=0:GOSUB *BUTTON_YN_1
3970 BYN(1)=2-TXTMODE:K=1:GOSUB *BUTTON_YN_1
3980 BYN(2)=1:K=2:GOSUB *BUTTON_YN_1
3990 BYN(4)=0:K=4:GOSUB *BUTTON_YN_1
4000 SCREEN 1,1
4010 MCN=1:GOSUB *MOUSE_C_SET
4020 RETURN
4030 *TXT_LOOK
4040 GD=1-GD:GOTO *TXT_LOAD
4050 *TXT_CANCEL
4060 CLS:SCREEN 1,0
4070 BYN(0)=BYN0:BYN(1)=0:BYN(2)=0:BYN(4)=1
4080 FOR K=0 TO 4
4090 LINE(20+120*K,16)-(136+120*K,33),PSET,0,B
4100 GOSUB *BUTTON_YN_1
4110 NEXT
4120 BYN(5)=BYN5:BYN(6)=BYN6
4130 FOR K=5 TO 6
4140 GOSUB *BUTTON_YN_2
4150 NEXT
4160 MODE=1
4170 IF TXTMODE=2 THEN *INPUT_EX_F
4180 RETURN
4190 *TYPE
4200 MCN=2:GOSUB *MOUSE_C_SET
4210 LINE(20,463)-(220,475),PSET,%8,BF,%4
4220 IF TYPEN>-1 AND TXTN>-1 THEN
4230 A1=TYPEN/(TXTN+1)*198:IF A1>198 THEN A1=198
4240 A2=(TYPEN+30)/(TXTN+1)*198:IF A2>198 THEN A2=198
4250 LINE(21+A1,464)-(21+A2,474),PSET,%2,BF
4260 ENDIF
4270 LINE(60,37)-(579,458),PSET,%8,BF,%5
4280 FOR I=0 TO 29
4290 IF TYPEN+I=<TXTN THEN SYMBOL(80,39+I*14),G$(TYPEN+I),.75!,.75!,7
4300 NEXT
4310 MCN=1:GOSUB *MOUSE_C_SET
4320 RETURN
4330 *TYPE_BACK
4340 IF TYPEN+30>TXTN THEN BYN(6)=1:K=6:SCREEN 1,0:GOSUB *BUTTON_YN_2:SCREEN 1,1
4350 TYPEN=TYPEN-30:IF TYPEN<0 THEN TYPEN=0
4360 GOSUB *TYPE
4370 IF TYPEN<1 THEN BYN(5)=0:K=5:SCREEN 1,0:GOSUB *BUTTON_YN_2:SCREEN 1,1
4380 RETURN
4390 *TYPE_NEXT
4400 IF TYPEN<1 THEN BYN(5)=1:K=5:SCREEN 1,0:GOSUB *BUTTON_YN_2:SCREEN 1,1
4410 TYPEN=TYPEN+30:GOSUB *TYPE
4420 IF TYPEN+30>TXTN THEN BYN(6)=0:K=6:SCREEN 1,0:GOSUB *BUTTON_YN_2:SCREEN 1,1
4430 RETURN
4440 *TYPE_ROLL
4450 BTYPEN=TYPEN
4460 TYPEN=(MX-21)/198*(TXTN+1)
4470 IF TYPEN<>BTYPEN THEN
4480 IF BTYPEN+30>TXTN AND TYPEN+30=<TXTN THEN BYN(6)=1:K=6:SCREEN 1,0:GOSUB *BUTTON_YN_2:SCREEN 1,1
4490 IF BTYPEN<1 THEN BYN(5)=1:K=5:SCREEN 1,0:GOSUB *BUTTON_YN_2:SCREEN 1,1
4500 GOSUB *TYPE
4510 IF TYPEN<1 THEN BYN(5)=0:K=5:SCREEN 1,0:GOSUB *BUTTON_YN_2:SCREEN 1,1
4520 IF TYPEN+30>TXTN AND BTYPEN+30=<TXTN THEN BYN(6)=0:K=6:SCREEN 1,0:GOSUB *BUTTON_YN_2:SCREEN 1,1
4530 ENDIF
4540 RETURN
4550 *TYPE_NEKOROLL
4560 BY=MOUSE(1):A3=0
4570 MCN=3:GOSUB *MOUSE_C_SET
4580 WHILE MOUSE(2,0)
4590 MY=MOUSE(1)
4600 A4=(MY-BY)/14
4610 A5=A3:A3=A3+SGN(A4-A3)
4620 IF A3>A5 THEN GOSUB *NROLL_BACK
4630 IF A3<A5 THEN GOSUB *NROLL_NEXT
4640 WEND
4650 MCN=1:GOSUB *MOUSE_C_SET
4660 RETURN
4670 *NROLL_BACK
4680 IF TYPEN=0 THEN BYN(5)=0:K=5:SCREEN 1,0:GOSUB *BUTTON_YN_2:SCREEN 1,1:RETURN
4690 BTYPEN=TYPEN:TYPEN=TYPEN-1
4700 GET@A(80,39)-(559,443),NROLL
4710 PUT@A(80,53)-(559,457),NROLL
4720 LINE(80,39)-(559,50),PSET,%5,BF
4730 SYMBOL(80,39),G$(TYPEN),.75!,.75!,7
4740 IF BTYPEN+30>TXTN AND TYPEN+30=<TXTN THEN BYN(6)=1:K=6:SCREEN 1,0:GOSUB *BUTTON_YN_2:SCREEN 1,1
4750 LINE(20,463)-(220,475),PSET,%8,BF,%4
4760 A1=TYPEN/(TXTN+1)*198:IF A1>198 THEN A1=198
4770 A2=(TYPEN+30)/(TXTN+1)*198:IF A2>198 THEN A2=198
4780 LINE(21+A1,464)-(21+A2,474),PSET,%2,BF
4790 RETURN
4800 *NROLL_NEXT
4810 IF TYPEN+30>TXTN THEN BYN(6)=0:K=6:SCREEN 1,0:GOSUB *BUTTON_YN_2:SCREEN 1,1:RETURN
4820 BTYPEN=TYPEN:TYPEN=TYPEN+1
4830 GET@A(80,53)-(559,457),NROLL
4840 PUT@A(80,39)-(559,443),NROLL
4850 LINE(80,445)-(559,456),PSET,%5,BF
4860 SYMBOL(80,445),G$(TYPEN+29),.75!,.75!,7
4870 IF BTYPEN<1 THEN BYN(5)=1:K=5:SCREEN 1,0:GOSUB *BUTTON_YN_2:SCREEN 1,1
4880 LINE(20,463)-(220,475),PSET,%8,BF,%4
4890 A1=TYPEN/(TXTN+1)*198:IF A1>198 THEN A1=198
4900 A2=(TYPEN+30)/(TXTN+1)*198:IF A2>198 THEN A2=198
4910 LINE(21+A1,464)-(21+A2,474),PSET,%2,BF
4920 RETURN
4930 *SET_GGG
4940 GGG$=MID$(PROG$(LOOKN),92,55)
4950 A$=" "
4960 WHILE A$=" "
4970 A$=RIGHT$(GGG$,1)
4980 IF A$=" " THEN GGG$=LEFT$(GGG$,LEN(GGG$)-1)
4990 WEND
5000 IF LEFT$(GGG$,2)<>"Q:" THEN F$="Q:"+GGG$ ELSE F$=GGG$
5010 A$="GGG"
5020 RETURN
5030 *SET_DOC
5040 DOC$=MID$(PROG$(LOOKN),147,55)
5050 A$=" "
5060 WHILE A$=" "
5070 A$=RIGHT$(DOC$,1)
5080 IF A$=" " THEN DOC$=LEFT$(DOC$,LEN(DOC$)-1)
5090 WEND
5100 IF LEFT$(DOC$,2)<>"Q:" THEN F$="Q:"+DOC$ ELSE F$=DOC$
5110 A$="DOC"
5120 RETURN
5130 *TXT_PRINT
5140 W$="表示されているテキストを印刷しますか?"
5150 GOSUB *WINDOW
5160 GOSUB *WINDOW_SELECT
5170 IF YN=1 THEN
5180 W$="プリンタをセットしてください"
5190 GOSUB *WINDOW
5200 SYMBOL(270,240),"※印刷用紙はA4を推奨します ^^;",.75!,.75!,7
5210 GOSUB *WINDOW_SELECT
5220 IF YN=1 THEN
5230 FOR I=0 TO TXTN
5240 LPRINT G$(I)
5250 NEXT
5260 ENDIF
5270 ENDIF
5280 GOSUB *TYPE
5290 RETURN
5300 *EXEC_HELPER
5310 SCREEN 1,1
5320 W$="純正(^_^;)ヘルパーを起動しますか?"
5330 GOSUB *WINDOW
5340 GOSUB *WINDOW_SELECT
5350 IF YN=1 THEN
5360 RUN"\HELPER.EXP"
5370 ENDIF
5380 IF MODE=1 THEN
5390 CLS:SCREEN 1,0
5400 ELSE
5410 GOSUB *TYPE
5420 ENDIF
5430 RETURN
5440 *INPUT_EX
5450 WHILE MOUSE(2,0)
5460 MX=MOUSE(0):MY=MOUSE(1)
5470 IF MX>20+120 AND MY>16 AND MX<136+120 AND MY<33 THEN
5480 LINE(21+120*I,17)-(135+120*I,32),PSET,6,B:WAIT 4
5490 LINE(21+120*I,17)-(135+120*I,32),PSET,%2,B
5500 ENDIF
5510 WEND
5520 IF MX>20+120 AND MY>16 AND MX<136+120 AND MY<33 THEN ELSE RETURN
5530 *INPUT_EX_F
5540 SCREEN 1,1
5550 GOSUB *FS_WINDOW
5560 CLS:SCREEN 1,0
5570 IF FILE$="" THEN RETURN
5580 IF RIGHT$(FILE$,4)=".TIF" THEN
5590 GOSUB *TIF_LOAD
5600 GOTO *INPUT_EX_F
5610 ENDIF
5620 IF RIGHT$(FILE$,4)=".JPG" THEN
5630 GOSUB *JPG_LOAD
5640 GOTO *INPUT_EX_F
5650 ENDIF
5660 IF RIGHT$(FILE$,4)=".EUP" THEN
5670 GOSUB *EUP_LOAD
5680 GOTO *INPUT_EX_F
5690 ENDIF
5700 MODE=2:TXTMODE=2:SCREEN 1,1:GOTO *TXT_READ
5710 RETURN
5720 *FS_WINDOW
5730 FOR I=0 TO 180 STEP 10
5740 LINE(320-I,240-I/2)-(320+I,240+I/2),PSET,%8,B
5750 WAIT 1
5760 NEXT
5770 LINE(140,150)-(500,330),PSET,%8,BF,%3
5780 SYMBOL(281,152),"FILE SELECTER",.75!,.6!,%7
5790 FOR I=0 TO 7
5800 FOR J=0 TO 1
5810 LINE(240+I*26,170+J*17)-(264+I*26,185+J*17),PSET,%8,B
5820 SYMBOL(246+I*26,172+J*17),AKCNV$(MID$("ABDEFGHIJKLMNOPQ",I+J*8+1,1)),.75!,.75!,%8-7*(I+J*8=CDRIVE),,,1
5830 NEXT J,I
5840 FOR I=0 TO 1
5850 LINE(233+I*87,307)-(317+I*87,322),PSET,%8,B
5860 SYMBOL(271+I*87,310),KMID$("<>",I+1,1),.75!,.75!,7
5870 NEXT
5880 LINE(472,160)-(490,178),PSET,%8,B
5890 SYMBOL(476,164),"×",.75!,.75!,7
5900 GOSUB *FS_SEEK
5910 GOSUB *TYPE_FNAME
5920 *FS_MAIN
5930 A3=0
5940 IF MOUSE(2,0) THEN GOSUB *FS_MOUSE_CHECK
5950 IF A3=1 THEN RETURN ELSE *FS_MAIN
5960 *FS_SEEK
5970 MCN=2:GOSUB *MOUSE_C_SET
5980 FILES "*.*",C,ARY&
5990 FILES "*.*",N,ARY$
6000 A=0:TFN=0
6010 FOR I=1 TO ARY&(1)
6020 IF MID$(ARY$(I),17,9)="--<DIR>--" THEN A=A+1:SWAP ARY$(A),ARY$(I)
6030 NEXT
6040 DIRN=A
6050 A1=DIRN:A2=0:GOSUB *SORT
6060 IF ARY&(1)>DIRN THEN A1=ARY&(1)-DIRN:A2=DIRN:GOSUB *SORT
6070 MCN=1:GOSUB *MOUSE_C_SET
6080 RETURN
6090 *FS_MOUSE_CHECK
6100 A=0
6110 MX=MOUSE(0):MY=MOUSE(1)
6120 FOR I=0 TO 4
6130 FOR J=0 TO 3
6140 IF I+J*5+TFN<ARY&(1) AND MX>146+J*87 AND MY>220+I*17 AND MX<230+J*87 AND MY<235+I*17 THEN
6150 LINE(147+J*87,221+I*17)-(229+J*87,234+I*17),PSET,6,B:WAIT 2
6160 LINE(147+J*87,221+I*17)-(229+J*87,234+I*17),PSET,%4,B:A=1
6170 ENDIF
6180 NEXT J,I
6190 FOR I=0 TO 7
6200 FOR J=0 TO 1
6210 IF MX>240+26*I AND MY>170+J*17 AND MX<264+26*I AND MY<185+J*17 THEN
6220 LINE(241+I*26,171+J*17)-(263+26*I,184+J*17),PSET,6,B:WAIT 2
6230 LINE(241+I*26,171+J*17)-(263+26*I,184+J*17),PSET,%4,B:A=1
6240 ENDIF
6250 NEXT J,I
6260 FOR I=0 TO 1
6270 IF MX>233+I*87 AND MY>307 AND MX<317+I*87 AND MY<322 THEN
6280 LINE(234+I*87,308)-(316+I*87,321),PSET,6,B:WAIT 2
6290 LINE(234+I*87,308)-(316+I*87,321),PSET,%3,B:A=1
6300 ENDIF
6310 NEXT
6320 IF MX>472 AND MY>160 AND MX<490 AND MY<178 THEN
6330 LINE(473,161)-(489,177),PSET,6,B:WAIT 2
6340 LINE(473,161)-(489,177),PSET,%3,B:A=1
6350 ENDIF
6360 IF A=1 AND MOUSE(2,0) THEN *FS_MOUSE_CHECK
6370 FOR I=0 TO 4
6380 FOR J=0 TO 3
6390 IF I+J*5+TFN<ARY&(1) AND MX>146+J*87 AND MY>220+I*17 AND MX<230+J*87 AND MY<235+I*17 THEN GOSUB *FS_FILE_SET
6400 NEXT J,I
6410 FOR I=0 TO 7
6420 FOR J=0 TO 1
6430 IF MX>240+26*I AND MY>170+J*17 AND MX<264+26*I AND MY<185+J*17 THEN GOSUB *FS_CH_DRIVE
6440 NEXT J,I
6450 FOR I=0 TO 1
6460 IF MX>233+I*87 AND MY>307 AND MX<317+I*87 AND MY<322 THEN
6470 ON I+1 GOSUB *TYPE_FN_BACK,*TYPE_FN_NEXT
6480 ENDIF
6490 NEXT
6500 IF MX>472 AND MY>160 AND MX<490 AND MY<178 THEN A3=1:FILE$=""
6510 RETURN
6520 *TYPE_FNAME
6530 FOR I=0 TO 4
6540 FOR J=0 TO 3
6550 LINE(146+J*87,220+I*17)-(230+J*87,235+I*17),PSET,%8,BF,%4
6560 NEXT J,I
6570 FOR I=1 TO 20
6580 J=I+TFN
6590 IF J=<ARY&(1) THEN
6600 SYMBOL(152+INT((I-1)/5)*87,222+((I-1) MOD 5)*17),LEFT$(ARY$(J),12),.75!,.75!,7+(MID$(ARY$(J),17,9)="--<DIR>--")
6610 ENDIF
6620 NEXT
6630 RETURN
6640 *TYPE_FN_BACK
6650 IF TFN=<0 THEN RETURN
6660 TFN=TFN-20
6670 GOSUB *TYPE_FNAME
6680 RETURN
6690 *TYPE_FN_NEXT
6700 IF TFN+20>=ARY&(1) THEN RETURN
6710 TFN=TFN+20
6720 GOSUB *TYPE_FNAME
6730 RETURN
6740 *FS_FILE_SET
6750 A=I+J*5+TFN+1
6760 IF MID$(ARY$(A),17,9)="--<DIR>--" THEN
6770 SHELL "CD "+LEFT$(ARY$(A),12)
6780 GOSUB *FS_SEEK
6790 GOSUB *TYPE_FNAME
6800 ELSE
6810 A3=1
6820 FILE$=LEFT$(ARY$(A),8)+"."+MID$(ARY$(A),10,3)
6830 ENDIF
6840 RETURN
6850 *FS_CH_DRIVE
6860 BC=CDRIVE:CDRIVE=I+J*8
6870 SHELL MID$("ABDEFGHIJKLMNOPQ",I+J*8+1,1)+":"
6880 SYMBOL(246+(BC MOD 8)*26,172+INT(BC/8)*17),AKCNV$(MID$("ABDEFGHIJKLMNOPQ",BC+1,1)),.75!,.75!,%8,,,1
6890 SYMBOL(246+I*26,172+J*17),AKCNV$(MID$("ABDEFGHIJKLMNOPQ",CDRIVE+1,1)),.75!,.75!,7,,,1
6900 GOSUB *FS_SEEK
6910 GOSUB *TYPE_FNAME
6920 RETURN
6930 *SORT'(heap-sort)
6940 M=A1
6950 IF M<2 THEN RETURN
6960 FOR CHECK=INT(M/2) TO 1 STEP -1
6970 GOSUB *PC_CHECK
6980 NEXT
6990 WHILE M>1
7000 SWAP ARY$(M+A2),ARY$(1+A2)
7010 M=M-1
7020 CHECK=1:GOSUB *PC_CHECK
7030 WEND
7040 RETURN
7050 *PC_CHECK
7060 F_I=CHECK
7070 F_J=F_I*2:F_END=0
7080 WHILE F_J=<M AND F_END=0
7090 IF F_J<M THEN IF ARY$(F_J+A2)<ARY$(F_J+1+A2) THEN F_J=F_J+1
7100 IF ARY$(F_I+A2)>ARY$(F_J+A2) THEN
7110 F_END=1
7120 ELSE
7130 SWAP ARY$(F_I+A2),ARY$(F_J+A2)
7140 F_I=F_J:F_J=F_I*2
7150 ENDIF
7160 WEND
7170 RETURN
7180 *TIF_LOAD
7190 MCN=2:GOSUB *MOUSE_C_SET
7200 OPEN "I",#1,FILE$
7210 A$=INPUT$(4,1)
7220 IF A$<>"II"+CHR$(&H2A)+CHR$(0) THEN RETURN
7230 IFDPOS&=FNGETLONG&
7240 IF IFDPOS&>8 THEN A$=INPUT$(IFDPOS&-8,1)
7250 TAGNUM&=FNGETSHORT&
7260 FOR I=0 TO TAGNUM&-1
7270 TAGID&=FNGETSHORT&
7280 TAGTYPE&=FNGETSHORT&
7290 TAGDATNUM&=FNGETLONG&
7300 TAGDAT&=FNGETSHORT&
7310 A&=FNGETSHORT&
7320 IF TAGID&=&H100 THEN XSIZE=TAGDAT&
7330 IF TAGID&=&H101 THEN YSIZE=TAGDAT&
7340 IF TAGID&=&H102 THEN
7350 IF TAGTYPE&=3 AND TAGDATNUM&=1 THEN
7360 IF TAGDAT&=1 THEN COLTYPE=2
7370 IF TAGDAT&=4 THEN COLTYPE=16
7380 IF TAGDAT&=8 THEN COLTYPE=256
7390 IF TAGDAT&=16 THEN COLTYPE=32000
7400 ELSE
7410 IF TAGTYPE&=3 AND TAGDATNUM&=3 THEN COLTYPE=1677
7420 ENDIF
7430 ENDIF
7440 NEXT
7450 CLOSE
7460 *TIF_LOAD2
7470 A=0
7480 IF COLTYPE=2 OR COLTYPE=16 THEN SCREEN 1,1:SCREEN@0:A=1
7490 IF COLTYPE=32000 THEN SCREEN 1,1:SCREEN@1:A=1
7500 IF COLTYPE=32000 AND (XSIZE>320 OR YSIZE>240) THEN
7510 WINDOW(0,0)-(511,255):VIEW(0,0)-(511,255)
7520 SCREEN 1,0:SCREEN@1
7530 WINDOW(0,0)-(511,255):VIEW(0,0)-(511,255)
7540 OUT &H440,27,2:OUT &H442,0,2
7550 OUT &H440,15:OUT &H443,2
7560 SCREEN 1,0
7570 ENDIF
7580 IF COLTYPE=256 THEN SCREEN 0:SCREEN@2:A=1
7590 IF A=0 THEN RETURN
7600 MOUSE 5
7610 CLS:LOAD@ FILE$
7620 IF COLTYPE=32000 AND (XSIZE>320 OR YSIZE>240) THEN
7630 SCREEN 1,1:LOAD@ FILE$,(0,-256)
7640 ENDIF
7650 WHILE PTRIG(2)=0:WEND
7660 SCREEN@1:SCREEN 1,1:SCREEN@1:SCREEN@0:CLS
7670 PALETTE 2,[100,0,0]
7680 PALETTE 3,[120,40,60]
7690 PALETTE 4,[120,0,80]
7700 PALETTE 5,[120,0,100]
7710 PALETTE 7,[160,160,160]
7720 IF (COLTYPE=32000 AND (XSIZE>320 OR YSIZE>240)) OR COLTYPE=256 THEN
7730 SCREEN 1,0:SCREEN@0:CLS:PALETTE
7740 PALETTE 2,[100,0,0]
7750 PALETTE 3,[120,40,60]
7760 PALETTE 4,[120,0,80]
7770 PALETTE 5,[120,0,100]
7780 PALETTE 7,[160,160,160]
7790 ENDIF
7800 GOSUB *MOUSE_SET:MOUSE 1,320,240,1
7810 MOUSE 4,0,0,634,474
7820 MCN=1:GOSUB *MOUSE_C_SET
7830 IF (COLTYPE=32000 AND (XSIZE>320 OR YSIZE>240)) OR COLTYPE=256 THEN
7840 GOSUB *MENU_SET
7850 GOSUB *LIST
7860 ENDIF
7870 RETURN
7880 *JPG_LOAD
7890 COLTYPE=32000:XSIZE=640:YSIZE=480
7900 GOTO *TIF_LOAD2
7910 *EUP_LOAD
7920 MCN=2:GOSUB *MOUSE_C_SET
7930 FILES FILE$,N,ARY$
7940 DIM EUP%(VAL(MID$(ARY$(1),18,9)))
7950 SCREEN 1,1
7960 LOAD@ FILE$,EUP%
7970 W$=FILE$+" を演奏中です":GOSUB *WINDOW2
7980 SYMBOL(170,240),"右クリックしながら[OK]すると演奏したままにできます",.75!,.75!,7
7990 PLAY@ EUP%
8000 MCN=1:GOSUB *MOUSE_C_SET
8010 GOSUB *WINDOW2_SELECT
8020 IF MOUSE(2,1) THEN ELSE PLAY OFF
8030 CLS:ERASE EUP%
8040 RETURN
8050 *MOUSE_C_SET
8060 IF MCN=1 THEN MOUSE 6,1,ANDICN1,ICN1
8070 IF MCN=2 THEN MOUSE 6,1,ANDICN2,ICN2
8080 IF MCN=3 THEN MOUSE 6,1,ANDICN3,ICN3
8090 RETURN
8100 *WINDOW
8110 FOR I=0 TO 160 STEP 10
8120 LINE(320-I,240-I/160*45)-(320+I,240+I/160*45),PSET,%8,B
8130 WAIT 1
8140 NEXT
8150 LINE(160,195)-(480,285),PSET,%8,BF,%3
8160 SYMBOL(320-LEN(W$)*3,225),W$,.75!,.75!,7
8170 Z$(0)="YES":Z$(1)="NO"
8180 FOR I=0 TO 1
8190 LINE(240+80*I,260)-(316+80*I,277),PSET,%8,B
8200 SYMBOL(278+80*I-LEN(Z$(I))*3,264),Z$(I),.75!,.6!,7,,,1
8210 NEXT
8220 RETURN
8230 *WINDOW_SELECT
8240 YN=0
8250 WHILE YN=0
8260 IF MOUSE(2,0) THEN GOSUB *WS_MOUSE_CHECK
8270 WEND
8280 RETURN
8290 *WS_MOUSE_CHECK
8300 MX=MOUSE(0):MY=MOUSE(1)
8310 YN=0
8320 FOR I=0 TO 1
8330 IF MX>240+80*I AND MY>260 AND MX<316+80*I AND MY<277 THEN
8340 YN=I+1
8350 LINE(241+80*I,261)-(315+80*I,276),PSET,6,B:WAIT 2
8360 LINE(241+80*I,261)-(315+80*I,276),PSET,%3,B
8370 ENDIF
8380 NEXT
8390 IF YN>0 AND MOUSE(2,0) THEN *WS_MOUSE_CHECK
8400 RETURN
8410 *WINDOW2
8420 FOR I=0 TO 160 STEP 10
8430 LINE(320-I,240-I/160*45)-(320+I,240+I/160*45),PSET,%8,B
8440 WAIT 1
8450 NEXT
8460 LINE(160,195)-(480,285),PSET,%8,BF,%3
8470 SYMBOL(320-LEN(W$)*3,225),W$,.75!,.75!,7
8480 LINE(280,260)-(360,277),PSET,%8,B
8490 SYMBOL(314,264),"OK",.75!,.6!,7,,,1
8500 RETURN
8510 *WINDOW2_SELECT
8520 YN=0
8530 WHILE YN=0
8540 IF MOUSE(2,0) THEN GOSUB *W2S_MOUSE_CHECK
8550 WEND
8560 RETURN
8570 *W2S_MOUSE_CHECK
8580 MX=MOUSE(0):MY=MOUSE(1)
8590 YN=0
8600 IF MX>280 AND MY>260 AND MX<360 AND MY<277 THEN
8610 YN=1
8620 LINE(281,261)-(359,276),PSET,6,B:WAIT 2
8630 LINE(281,261)-(359,276),PSET,%3,B
8640 ENDIF
8650 IF YN>0 AND MOUSE(2,0) THEN *W2S_MOUSE_CHECK
8660 RETURN
8670 '
8680 *E_TRAP
8690 IF ERL=6870 THEN CDRIVE=BC:RESUME 6920
8700 IF (ERL=3450 OR ERL=5990) AND ERR=9 THEN ERASE ARY$:DIM ARY$(ARY&(1)):RESUME
8710 IF ERL=5980 OR ERL=5990 THEN ARY&(1)=0:RESUME 6070
8720 IF ERL=7960 THEN RESUME 8030
8730 IF ERL=7940 THEN RESUME 8040
8740 IF ERL=5360 THEN RESUME NEXT
8750 MCN=1:GOSUB *MOUSE_C_SET
8760 IF ERL=3410 OR ERL=3440 OR ERL=3450 THEN
8770 W$="CDが違っていませんか?":GOSUB *WINDOW2
8780 GOSUB *WINDOW2_SELECT
8790 CFCN=0
8800 RESUME *TXT_CANCEL
8810 ENDIF
8820 IF ERR=7 OR ERR=82 OR ERR=83 THEN
8830 W$="メモリが足りません。すみません。":GOSUB *WINDOW2
8840 GOSUB *WINDOW2_SELECT
8850 MOUSE 5:END
8860 ENDIF
8870 IF ERL=5240 THEN
8880 W$="プリンタが認識されませんでした。再実行しますか?"
8890 GOSUB *WINDOW
8900 GOSUB *WINDOW_SELECT
8910 IF YN=1 THEN RESUME 5180
8920 RESUME 5280
8930 ENDIF
8940 SCREEN 0:COLOR 7:CLS
8950 PRINT"エラー行";ERL;" エラー番号";ERR
8960 MOUSE 5:END
8970 '--------------------------------------------------------------
8980 ' < マウス移動比率データーの取得 >
8990 ' for F-BASIC 386 V2.1 L10 以上
9000 ' Programmed by Luzz-tum
9010 ' サブルーチン名 「 *MOUSE_SET 」
9020 ' BASIC でマウスを使うと、コントロールパネルで設定したマウススピ
9030 ' ードが無視され、ユーザーに違和感を与えてしまいます。このルーチン
9040 ' ではこれを解消します。
9050 ' 単純に GOSUB *MOUSE_SET を実行して下さい。マウスの初期化とスピ
9060 ' ードの変更をします。
9070 '
9080 *MOUSE_SET'↓本体プログラム用に MOUSE 0 を MOUSE 0,1 に変更 by KIM
9090 MOUSE 0,1:MOUSE 3,0,INP(&H3B06):MOUSE 3,1,INP(&H3B06)
9100 RETURN